SPSS+AMOS数据分析案例教程-关于中介模
SPSS视频教程内容目录和跳转链接
Meta分析辅导+代找数据
SPSS+AMOS数据分析案例教程-关于中介模
SPSS视频教程内容目录和跳转链接
R语言快速入门视频教程
Python智联招聘数据分析
LCA潜在类别分析和Mplus应用
Amos结构方程模型数据分析入门教程
倒U关系回归分析中介效应和调节效应分析SPSS视频教程
统计咨询(图文问答)

Excel2013:[59]匹配不同工作表记录

在B站@mlln-cn, 我就能回答你的问题奥!

文章目录

如何匹配不同工作表中的记录?假如有多个工作表,第一个工作表作为基本表,用于和其他几个表匹配记录,假如一条记录同时出现在了基本表和其他表中,我们就在基本表中标识出来。怎么实现这个过程?

  • 首先将Excel文件存为可以执行vba的格式,xlsm格式
  • 我们利用SN号作为一条记录是否重复的指标,假如两条记录SN号相同,则认为两条记录匹配
  • 打开开发工具下的visual basic,或者可以按下快捷键alt+F11
  • 打开vb界面,我们双击 thisworkbook,大概一个代码界面
  • 复制以下代码到代码界面
  • 将鼠标光标移动到代码的任意位置,按下快捷键F5即可执行代码,执行结果可见:在第一个工作表的最后一列标志出了某条记录出现在哪一个工作表中,如果所有工作表都没有匹配,则输出无匹配。
  • 注意基本工作表总是位于最前面。也是Excel认为的第一个工作表,代码总是用第一个表中的数据与其他表中的数据去匹配,匹配成功则输出工作表的名称。
  • 本教程用到的代码:复制可用。

  • Sub pipei()

  • Set d = CreateObject("scripting.dictionary")
    
  • For i = 2 To Worksheets.Count
    
  •     For j = 1 To Sheets(i).Cells(1, 300).End(xlToLeft).Column
    
  •         If Sheets(i).Cells(1, j).Text = "SN号" Then
    
  •             For r = 2 To Sheets(i).Cells(65536, j).End(xlUp).Row
    
  •                 If Not (Sheets(i).Cells(r, j).Value = 0 Or Sheets(i).Cells(r, j).Text = "") Then
    
  •                     d.Add Sheets(i).Cells(r, j).Text, Sheets(i).Name
    
  •                 End If
    
  •             Next r
    
  •         End If
    
  •     Next j
    
  • Next i
    
  • Sheets(1).Activate
    
  • max_col = Cells(1, 300).End(xlToLeft).Column
    
  • For c = 1 To max_col
    
  •     If Cells(1, c).Text = "SN号" Then
    
  •         For r = 2 To Cells(65536, c).End(xlUp).Row
    
  •             If d.exists(Cells(r, c).Text) Then
    
  •                 Cells(r, max_col + 1) = d.Item(Cells(r, c).Text)
    
  •             Else
    
  •                 Cells(r, max_col + 1) = "无匹配"
    
  •             End If
    
  •         Next r
    
  •     End If
    
  • Next c
    
  • MsgBox "ok"
    
  • End Sub

转载请注明来自DataScience.

邮箱: 675495787@qq.com

统计咨询

统计咨询请加入我的星球,有问必回

加入星球向我提问(必回),下载资料,数据,软件等

赞助

持续创造有价值的内容, 我需要你的帮助